package org.dromara.easyes.test.entity;

import org.dromara.easyes.annotation.IndexField;
import org.dromara.easyes.annotation.IndexId;
import org.dromara.easyes.annotation.rely.FieldType;
import org.dromara.easyes.annotation.rely.IdType;

import java.math.BigDecimal;
import java.util.Date;

/**
 * Description:
 *
 * @Author: 86631561@163.com
 * Date: 2023/9/26 10:59
 * UpdateUser: 86631561@163.com
 * UpdateDate: 2023/9/26 10:59
 * UpdateRemark: The modified content
 * Version: 1.0.0
 * <p>
 * Copyright © 2023 86631561@163.com Technologies Inc. All Rights Reserved
 **/
public class BusOrderItem {
    @IndexId(type = IdType.CUSTOMIZE)
    private Long orderItemId;
    /**
     * $column.columnComment
     */
    private Long orderId;
    /**
     * 支付编号
     */
    private Long orderPayId;
    /**
     * 关联的订单原商品明细
     */
    private Long originalOrderItemId;
    /**
     * 子记录
     */
    private Long subOrderId;
    /**
     * 企业主键
     */
    private Long companyId;
    /**
     * 商户主键
     */
    private Long merchantId;
    /**
     * 客户ID
     */
    private Long customerId;
    /**
     * 客户ID
     */
    private Long customerUserId;
    /**
     * 设备主键
     */
    private Long machineId;
    /**
     * 货柜代码
     */
    private String machineCode;
    /**
     * 对应门 1-单门左门 2-右门
     */
    private Integer doorNum;
    /**
     * 创建类型
     */
    private Integer createType;
    /**
     * 商品主键
     */
    private Long skuId;
    /**
     * sku名称
     */
    private String skuName;
    /**
     * 商品数量
     */
    private Integer skuNum;
    /**
     * 单价
     */
    @IndexField(fieldType = FieldType.SCALED_FLOAT)
    private BigDecimal price;
    /**
     * 库存变动
     */
    private Integer stockStatus;
    /**
     * 总额
     */
    @IndexField(fieldType = FieldType.SCALED_FLOAT)
    private BigDecimal totalAmount;
    /**
     * 总优惠
     */
    @IndexField(fieldType = FieldType.SCALED_FLOAT)
    private BigDecimal discountAmount;
    /**
     * 总优惠说明
     */
    private String discountRemark;
    /**
     * 总计
     */
    @IndexField(fieldType = FieldType.SCALED_FLOAT)
    private BigDecimal amount;
    /**
     * 商品状态
     */
    private Integer status;
    /**
     * 商品条形码
     */
    private String barcode;
    /**
     * 商品自定义退款金额
     */
    @IndexField(fieldType = FieldType.SCALED_FLOAT)
    private BigDecimal additionalRefundAmount;
    @IndexField(fieldType = FieldType.DATE, dateFormat = "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis")
    private Date createTime;

    @IndexField(fieldType = FieldType.DATE, dateFormat = "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis")
    private Date updateTime;

    /** 创建者 */
    private String createBy;

    /** 更新者 */
    private String updateBy;
}
